Mobile robots are sometimes designed to accomplish specific tasks or a predetermined mission. Specialization allows robots to tackle specific tasks or predetermined mission in a predictable and reliable fashion. However, modification of the tasks or mission may require a computer programmer or a skilled technician. Accordingly, there is a need for a method and system for controlling a mobile robot that supports modification of its tasks or mission by unskilled workers or persons.